SysManager.UserGroup.UnitEdit = function() {

	return {
		
	editCurrentUnit : null,
	unitForm : new Ext.FormPanel({
		autoHeight : true,
		frame : false,
		border : false,
		disabled : true,
		maskDisabled : false,
		cls : 'myCls',
		items : [{
					layout : 'column',
					border : false,
					width : Ext.get("content").getWidth() / 1.5,
					items : [{
								// 第一列
								border : false,
								columnWidth : 0.5,
								layout : 'form',
								defaults : {
									xtype : 'textfield',
									anchor : '80%',
									enableKeyEvents : true,
									listeners : {
										'keyup' : keyUpEvent
									}
								},
								items : [{
											fieldLabel : '单位名称',
											name : 'unitName',
											allowBlank : false,
											blankText : "单位名称不能为空!"
										}, {
											fieldLabel : '单位代码',
											name : 'code',
											allowBlank : false,
											blankText : "单位代码不能为空!"
										}, {
											fieldLabel : "单位地址",
											name : "unitAddress"
										}]
							}, {
								// 第二列
								border : false,
								columnWidth : 0.5,
								layout : 'form',
								defaults : {
									xtype : 'textfield',
									anchor : '80%',
									enableKeyEvents : true,
									listeners : {
										'keyup' : keyUpEvent
									}
								},
								items : [{
											fieldLabel : "联系电话",
											name : "unitMobile"
										}, {
											fieldLabel : "传真",
											name : "unitFax"
										}, {
											fieldLabel : "排序编码",
											name : "unitOrder",
											regex : /^[0-9]*$/,
											regexText : "必须为数字格式"
										}]
							}]
				}, {
					fieldLabel : "备注",
					name : "unitRemark",
					xtype : 'textarea',
					width : Ext.get("content").getWidth() / 2,
					enableKeyEvents : true,
					listeners : {
						'keyup' : keyUpEvent
					}
				}, {
					fieldLabel : "编号",
					name : "id",
					xtype : "hidden"
				}, {
					fieldLabel : "代码",
					name : "unitCode",
					xtype : "hidden"
				}, {
					fieldLabel : "父代码",
					name : "unitParentCode",
					xtype : "hidden"
				}, {
					fieldLabel : "父编码",
					name : "unitParentId",
					xtype : "hidden"
				}, {
					fieldLabel : "上级单位",
					name : "parentUnitName",
					xtype : "hidden"
				}]
		}),

	addHandler : function() {
		if (currentUnit == null) {
			Ext.MessageBox.alert('注意',
					'<B>你正在添加顶级单位！</B><br><br>如需添加一般单位，选择上级单位后，点击添加按钮！')
					.setIcon(Ext.MessageBox.WARNING);
		} else {
			Ext.MessageBox.alert('提示', '你正在为 <U><B>'
							+ currentUnit.attributes.text + '</B></U> 添加下属单位！');
			unitForm.getForm().reset();
			unitForm.getForm().setValues({
						'unitParentCode' : currentUnit.attributes.code,
						'unitParentId' : currentUnit.attributes.id,
						'parentUnitName' : currentUnit.attributes.text
					});
		}
		unitForm.enable();
		hideButton();
	},

	delHandler : function() {
		deleteSysUnitsAjax(currentUnit.attributes.id);
	},

	onAddSuccess : function(form, action) {
		unitForm.getForm().reset();
		initButton();
		initUnitTree();
		Ext.MessageBox.alert("提示", action.result.message);
	},

	onFailure : function(form, action) {
		if (action.failureType == "connect") {
			Ext.Msg.alert('服务器异常', '服务器异常，请与管理员联系！');
		} else {
			Ext.Msg.alert('错误', '您输入的用户名和密码错误！');
		}
	},

	keyUpEvent : function() {
		Ext.getCmp('saveButton').show();
	},

	initButton : function() {
		Ext.getCmp('saveButton').hide();
		Ext.getCmp('modifyButton').show();
		Ext.getCmp('addButton').show();
		Ext.getCmp('delButton').show();
	},

	hideButton : function() {
		Ext.getCmp('addButton').hide();
		Ext.getCmp('modifyButton').hide();
		Ext.getCmp('saveButton').show();
		Ext.getCmp('delButton').hide();
	},

	loadUnitForm : function(unitId) {
		if (!currentUnit) {
			return false;
		}
		if (editCurrentUnit == currentUnit) {
			return false;
		}
		editCurrentUnit = currentUnit;
		var unitId = currentUnit.attributes.id;
		unitForm.getForm().reset();
		unitForm.disable();
		initButton();
		unitForm.form.load({
					waitMsg : '正在加载数据',
					waitTitle : '提示',
					url : '/sysunits.action?method=findByCode',
					params : {
						id : unitId
					},
					method : 'GET',
					success : function(form, action) {
						// 数据加载成功.
					},
					failure : function(form, action) {
						Ext.Msg.alert('无法加载该数据');
					}
				});
	},

	deleteSysUnitsAjax : function(propertyId) {

		var msgTip = Ext.MessageBox.show({
					msg : '正在删除所选项目, 稍后...',
					progressText : '删除...',
					width : 300,
					wait : true,
					waitConfig : {
						interval : 200
					}
				});

		Ext.Ajax.request({
					url : '/sysunits.action?method=deleteSysUnits',
					params : {
						ids : propertyId
					},
					method : 'POST',
					success : function(response, options) {
						msgTip.hide();
						var result = Ext.util.JSON
								.decode(response.responseText);
						if (result.success) {
							unitForm.getForm().reset();
							initButton();
							currentUnit.remove();
							Ext.Msg.alert('提示', '成功删除项目');
						} else {
							Ext.Msg.alert('提示', '该参数类别不能删除，因为含有子项.');
						}
					},
					failure : function(response, options) {
						msgTip.hide();
						Ext.Msg.alert('提示', '删除失败.');
					}
				});
	}

	
	};//eo return

};
